package com.huang.service;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.huang.entity.ExceptionLog;
import com.huang.mapper.ExceptionLogMapper;
import com.huang.model.PageResult;
import com.huang.model.request.LogQuery;
import com.huang.model.response.ExceptionLogResp;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 异常日志服务
 *
 * @author Ikaros
 * @since 2025/9/5 15:54 星期五
 */
@Service
public class ExceptionLogService extends ServiceImpl<ExceptionLogMapper, ExceptionLog> {

    /**
     * 查询异常日志列表
     *
     * @param logQuery 日志查询条件
     * @return 日志列表
     */
    public PageResult<ExceptionLogResp> listExceptionLog(LogQuery logQuery) {
        // 查询异常日志数量
        List<ExceptionLogResp> exceptionLogRespList = baseMapper.selectExceptionLogList(logQuery);
        if (exceptionLogRespList.isEmpty()) {
            return new PageResult<>();
        }
        return new PageResult<>(exceptionLogRespList, exceptionLogRespList.getFirst().getTotalCount());
    }

    /**
     * 保存异常日志
     *
     * @param exceptionLog 异常日志实体
     */
    public void saveExceptionLog(ExceptionLog exceptionLog) {
        // 保存异常日志
        baseMapper.insert(exceptionLog);
    }
}
